// samsting : this file is auto create.

#include "Ecs/2014-05-26/DescribeSecurityGroupAttributeResponse.h"

namespace aliyun { namespace Ecs {

DescribeSecurityGroupAttributeResponse::DescribeSecurityGroupAttributeResponse() {
}

const string& DescribeSecurityGroupAttributeResponse::Permission::GetIpProtocol(void) const {
  return IpProtocol_;
}

const string& DescribeSecurityGroupAttributeResponse::Permission::GetPortRange(void) const {
  return PortRange_;
}

const string& DescribeSecurityGroupAttributeResponse::Permission::GetSourceGroupId(void) const {
  return SourceGroupId_;
}

const string& DescribeSecurityGroupAttributeResponse::Permission::GetSourceCidrIp(void) const {
  return SourceCidrIp_;
}

const string& DescribeSecurityGroupAttributeResponse::Permission::GetPolicy(void) const {
  return Policy_;
}

const string& DescribeSecurityGroupAttributeResponse::Permission::GetNicType(void) const {
  return NicType_;
}

const string& DescribeSecurityGroupAttributeResponse::Permission::GetSourceGroupOwnerAccount(void) const {
  return SourceGroupOwnerAccount_;
}

const string& DescribeSecurityGroupAttributeResponse::Permission::GetDestGroupId(void) const {
  return DestGroupId_;
}

const string& DescribeSecurityGroupAttributeResponse::Permission::GetDestCidrIp(void) const {
  return DestCidrIp_;
}

const string& DescribeSecurityGroupAttributeResponse::Permission::GetDestGroupOwnerAccount(void) const {
  return DestGroupOwnerAccount_;
}

const string& DescribeSecurityGroupAttributeResponse::Permission::GetPriority(void) const {
  return Priority_;
}

const string& DescribeSecurityGroupAttributeResponse::Permission::GetDirection(void) const {
  return Direction_;
}

const std::vector<DescribeSecurityGroupAttributeResponse::Permission>& DescribeSecurityGroupAttributeResponse::GetPermissions(void) const {
  return Permissions_;
}

const string& DescribeSecurityGroupAttributeResponse::GetRegionId(void) const {
  return RegionId_;
}

const string& DescribeSecurityGroupAttributeResponse::GetSecurityGroupId(void) const {
  return SecurityGroupId_;
}

const string& DescribeSecurityGroupAttributeResponse::GetDescription(void) const {
  return Description_;
}

const string& DescribeSecurityGroupAttributeResponse::GetSecurityGroupName(void) const {
  return SecurityGroupName_;
}

const string& DescribeSecurityGroupAttributeResponse::GetVpcId(void) const {
  return VpcId_;
}

const char* DescribeSecurityGroupAttributeResponse::BaseKey(void) {
  return "DescribeSecurityGroupAttributeResponse";
}

void DescribeSecurityGroupAttributeResponse::UnmarshallerMap(std::map<string, string>& response_map) {
  int Permissions__length = 0;
  UnmarshallerInt(Permissions__length, response_map, "DescribeSecurityGroupAttributeResponse.Permissions.Length");
  if(Permissions__length >= 0) {
    Permissions_.resize(Permissions__length);
    for(int i1 = 0; i1 < Permissions__length; i1++) {
      UnmarshallerString(Permissions_[i1].IpProtocol_, response_map, "DescribeSecurityGroupAttributeResponse.Permissions["+string_ValueOfInt(i1)+"].IpProtocol");
      UnmarshallerString(Permissions_[i1].PortRange_, response_map, "DescribeSecurityGroupAttributeResponse.Permissions["+string_ValueOfInt(i1)+"].PortRange");
      UnmarshallerString(Permissions_[i1].SourceGroupId_, response_map, "DescribeSecurityGroupAttributeResponse.Permissions["+string_ValueOfInt(i1)+"].SourceGroupId");
      UnmarshallerString(Permissions_[i1].SourceCidrIp_, response_map, "DescribeSecurityGroupAttributeResponse.Permissions["+string_ValueOfInt(i1)+"].SourceCidrIp");
      UnmarshallerString(Permissions_[i1].Policy_, response_map, "DescribeSecurityGroupAttributeResponse.Permissions["+string_ValueOfInt(i1)+"].Policy");
      UnmarshallerString(Permissions_[i1].NicType_, response_map, "DescribeSecurityGroupAttributeResponse.Permissions["+string_ValueOfInt(i1)+"].NicType");
      UnmarshallerString(Permissions_[i1].SourceGroupOwnerAccount_, response_map, "DescribeSecurityGroupAttributeResponse.Permissions["+string_ValueOfInt(i1)+"].SourceGroupOwnerAccount");
      UnmarshallerString(Permissions_[i1].DestGroupId_, response_map, "DescribeSecurityGroupAttributeResponse.Permissions["+string_ValueOfInt(i1)+"].DestGroupId");
      UnmarshallerString(Permissions_[i1].DestCidrIp_, response_map, "DescribeSecurityGroupAttributeResponse.Permissions["+string_ValueOfInt(i1)+"].DestCidrIp");
      UnmarshallerString(Permissions_[i1].DestGroupOwnerAccount_, response_map, "DescribeSecurityGroupAttributeResponse.Permissions["+string_ValueOfInt(i1)+"].DestGroupOwnerAccount");
      UnmarshallerString(Permissions_[i1].Priority_, response_map, "DescribeSecurityGroupAttributeResponse.Permissions["+string_ValueOfInt(i1)+"].Priority");
      UnmarshallerString(Permissions_[i1].Direction_, response_map, "DescribeSecurityGroupAttributeResponse.Permissions["+string_ValueOfInt(i1)+"].Direction");
    } // for(int i1 = 0; i1 < Permissions__length; i1++) {
  } // if(Permissions__length >= 0) {

  UnmarshallerString(RegionId_, response_map, "DescribeSecurityGroupAttributeResponse.RegionId");
  UnmarshallerString(SecurityGroupId_, response_map, "DescribeSecurityGroupAttributeResponse.SecurityGroupId");
  UnmarshallerString(Description_, response_map, "DescribeSecurityGroupAttributeResponse.Description");
  UnmarshallerString(SecurityGroupName_, response_map, "DescribeSecurityGroupAttributeResponse.SecurityGroupName");
  UnmarshallerString(VpcId_, response_map, "DescribeSecurityGroupAttributeResponse.VpcId");
}


} } // namespace aliyun { namespace Ecs {

// end of file 
